/************************************************************
 *                                                          *
 * Copyright (c) 2001-2012 McObject LLC. All Right Reserved.*
 *                                                          *
 ************************************************************/

/*
 *
 *	Memory management
 *
 */

#ifndef _MCO_EWS_MEMORY_MANGEMENT_WRAPER_H
#define _MCO_EWS_MEMORY_MANGEMENT_WRAPER_H

#include <stddef.h>

#ifndef MCO_CFG_INLINE
#if defined(WIN32) || defined(_HPUX)

#define MCO_CFG_INLINE

#else /* WIN32 */

#define MCO_CFG_INLINE inline

#endif /* WIN32 */
#endif

typedef unsigned int mco_puint;

typedef void*  mco_mem_h;
/*
typedef struct tag_mco_mem {
} mco_mem_t, mco_mem_h;
*/

int   mcohs_mem_init	( mco_mem_h mem );
int   mcohs_mem_clean	( mco_mem_h mem );
void* mcohs_memcpy 	( void* dst, void* src, unsigned int n );
void* mcohs_memset 	( void* s, int c, unsigned int n );
int   mcohs_memcmp	( char* p1, char* p2, int n);
void* mcohs_malloc	( unsigned int size );
void* mcohs_realloc	( void* ptr, unsigned int size );
void  mcohs_free	( void* ptr );

#endif /* _MCO_EWS_MEMORY_MANGEMENT_WRAPER_H */
